Linux Server에 scp로 파일 옮기기

※ MobaXterm과 같은 SSH를 이용해서 옮기는 방법도 쉽고 좋지만, 많은 서버를 관리한다면 PowerShell 등에서 alias 기능을 활용하여 접속하고 파일을 전송하는 것도 좋습니다.
대량 서버 관리 1 - PowerShell Profile(alias) 만들기

1. 사전 준비사항

2. 파일 전송 절차

2.1 접속 테스트

# SSH 접속테스트(윈도우 환경에서)
ssh -i "[pem키경로]" -p [포트번호] [사용자명]@[IP주소]

2.2 SCP를 이용한 파일 전송

# 기본 명령어 구조
scp -P [포트번호] -i "[pem키경로]" [전송할파일명] [사용자명]@[IP주소]:[전송위치]

# 실제 예시
scp -P 22222 -i "C:/keys/ex1-key.pem" app.tar.Z admin@10.0.0.100:/home/admin/

# 여러 파일 전송
scp -P 22222 -i "C:/keys/ex1-key.pem" ex1.txt ex2.txt admin@10.0.0.100:/home/admin/

# 폴더 전체 전송 (-r 옵션)
scp -P 22222 -r -i "C:/keys/ex1-key.pem" ./folder admin@10.0.0.100:/home/admin/

3. 주의사항

4. 문제 해결

5. 참고사항

6. 실제 사용 예시

# 필요한 부분 변경해서 사용 : key 위치, 파일명, 사용자명, ip 주소, 전송 위치

# 1. SSH 접속 테스트
ssh -i "C:/keys/ex1-key.pem" -p 22222 admin@10.0.0.100
Last login: Mon Nov 18 14:19:19 2024 from 192.168.1.100

# 2. 파일 전송 (tar 파일)
scp -P 22222 -i "C:/keys/ex1-key.pem" app.tar.Z admin@10.0.0.100:/home/admin/

# 3. alias 설정 후 사용 예시
# PowerShell에서
PS C:/Users/User> ssh-ex1
PS C:/Users/User> scp-ex1 "app.tar.Z"

# 4. SFTP 사용 예시
sftp -P 22222 -i "C:/keys/ex1-key.pem" admin@10.0.0.100
sftp> put app.tar.Z
sftp> ls -l
sftp> exit